package com.example.leetcode;

/**
 * 动态规划 ** 参考题解
 * 等差数列划分
 */
public class Demo0413 {
    public int numberOfArithmeticSlices(int[] nums) {
        int len = nums.length;
        if (len<=2){
            return 0;
        }
        /**
         *在一个等差数列中加入一个数字,如果还保持着等差数列的特性,每次的增量都会加1
         *
         */
        int ans=0;
        int add=0;
        for (int i = 2; i <len ; i++) {
            //延续了等差特性时
            if (nums[i]-nums[i-1]== nums[i-1]-nums[i-2]){
                add++;
                ans+=add;
            }else {
                //等差特性终止时
                add=0;
            }
        }

        return ans;
    }
}
